package com.example.chat.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.chat.domain.dto.GroupInviteDTO;
import com.example.chat.domain.dto.GroupInviteYON;
import com.example.chat.domain.entity.GroupChat;
import com.example.chat.domain.entity.GroupInvite;
import com.example.chat.result.Result;

import java.util.List;

public interface GroupChatService extends IService<GroupChat> {

    Result createGroupChat(List<Long> ids,String groupName);

    Result queryGroupChats();

    Result queryGroupList();

    Result queryGroupContents(Long id, Long timestamp, Integer offset);

    Result tipClearOrReduce(Long id, Integer type);

    Result getGroupInfo(Long id);

    Result deleteChatListById(Long id);

    Result queryGroupFulInfo(Long id);

    Result deleteById(Long id);

    Result leaveById(Long id);

    Result inviteUser(GroupInviteDTO groupInviteDTO);

    Result inviteByType(GroupInviteYON groupInviteYON);

    Result getListInvite();

    Result getInvitees(Long groupId);
}
